package com.uyayo.oms.blog.vo;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class BlogCategoryVO {

    /**
     * 类目ID
     */
    private Long id;


    /**
     * 父类目ID=0时，代表的是一级的类目
     */
    private Long parentId;

    /**
     * 编码
     */
    private String code;

    /**
     * 类目名称
     */
    private String name;

    @NotNull(message = "{loginname.null}")
    @Size(min = 5, max = 36, message = "{loginname.size.error}")
    private String username;

    /**
     * 描述
     */
    private String description;

    /**
     * 博客数
     */
    private Integer blogCount;

    /**
     * 排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
     */
    private Integer sortOrder;

    /**
     * 是否有子级，1为true，0为false
     */
    private Boolean hasChildren;

    /**
     * 状态。可选值:1(正常),2(删除)
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 获取类目ID
     *
     * @return id - 类目ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置类目ID
     *
     * @param id 类目ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取父类目ID=0时，代表的是一级的类目
     *
     * @return parent_id - 父类目ID=0时，代表的是一级的类目
     */
    public Long getParentId() {
        return parentId;
    }

    /**
     * 设置父类目ID=0时，代表的是一级的类目
     *
     * @param parentId 父类目ID=0时，代表的是一级的类目
     */
    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    /**
     * 获取编码
     *
     * @return code - 编码
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置编码
     *
     * @param code 编码
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * 获取类目名称
     *
     * @return name - 类目名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置类目名称
     *
     * @param name 类目名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }


    /**
     * 获取描述
     *
     * @return description - 描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置描述
     *
     * @param description 描述
     */
    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    /**
     * 获取博客数
     *
     * @return blog_count - 博客数
     */
    public Integer getBlogCount() {
        return blogCount;
    }

    /**
     * 设置博客数
     *
     * @param blogCount 博客数
     */
    public void setBlogCount(Integer blogCount) {
        this.blogCount = blogCount;
    }

    /**
     * 获取排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
     *
     * @return sort_order - 排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
     */
    public Integer getSortOrder() {
        return sortOrder;
    }

    /**
     * 设置排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
     *
     * @param sortOrder 排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
     */
    public void setSortOrder(Integer sortOrder) {
        this.sortOrder = sortOrder;
    }
    /**
     * 获取是否有子级，1为true，0为false
     *
     * @return has_children - 是否有子级，1为true，0为false
     */
    public Boolean getHasChildren() {
        return hasChildren;
    }

    /**
     * 设置是否有子级，1为true，0为false
     *
     * @param hasChildren 是否有子级，1为true，0为false
     */
    public void setHasChildren(Boolean hasChildren) {
        this.hasChildren = hasChildren;
    }



    /**
     * 获取状态。可选值:1(正常),2(删除)
     *
     * @return status - 状态。可选值:1(正常),2(删除)
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置状态。可选值:1(正常),2(删除)
     *
     * @param status 状态。可选值:1(正常),2(删除)
     */
    public void setStatus(Integer status) {
        this.status = status;
    }


    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }
}